1. Field of the Invention
The present invention relates to a calculator apparatus for calculating an angle of inclination capable of more accurately sensing an angle of inclination when measuring the attitude of an object in space, and also to a method therefor.
2. Description of the Background Art
As means for sensing an inclination of an object in a three-dimensional space, it is known to make use of a micromachining sensor that employs a micro-electromechanical system (MEMS) such as a three-axis acceleration sensor. For example, when accelerated in space, the three-axis acceleration sensor has ability to resolve and sense the acceleration into three acceleration components in X-, Y- and Z-axis directions. Utilizing this principle and based on the gravitational acceleration components in the X-, Y- and Z-axis directions sensed by the three-axis acceleration sensor, it is calculated how much the three-axis acceleration sensor is inclined with respect to the direction of gravitation, whereby it can be found how much an object with the three-axis acceleration sensor is inclined in space.
With reference to FIGS. 3, 4 and 5, a description will hereinafter be given of how an angle of inclination is measured with a conventional three-axis acceleration sensor.
As shown in FIG. 3, an object 300 with a three-axis acceleration sensor mounted thereon is disposed horizontally in an x-y-z axis space. In the x-y-z axis space, an axis whose direction is the same as the direction of gravitational acceleration is defined as the z axis, and a plane perpendicular to the z axis is defined as the x-y plane. The x and y axes are defined as intersecting with each other at right angles in the x-y plane. At this time, the X, Y, and Z axes shown in FIG. 3 are defined with the three-axis acceleration sensor of the object 300 as reference. More specifically, as previously described, the three-axis acceleration sensor is used to resolve and sense acceleration into three acceleration components in the X-, Y- and Z-axis directions, the X, Y and Z axes shown in FIG. 3 corresponding to the X, Y, and Z axes along which acceleration is resolved. Further, the X, Y, and Z axes in this example are disposed to coincide with the x, y, and z axes of the x-y-z axis space for the convenience of description. In this example, the state in which the object 300 is horizontally disposed is the state in which, among the acceleration components in the X-, Y- and Z-axis directions, only the gravitational acceleration component in the Z-axis direction is sensed by the three-axis acceleration sensor mounted on the object 300. A description will now be given in the case where, as shown in FIG. 4, the object 300 is rotated from the state of FIG. 3 with the Y axis as an axis of rotation. At this time, the angle formed between an axis projected onto the x-z plane of the x-y-z axis space from the X axis of the X-Z plane of the object 300 rotated about the Y and the x axis of the x-y-z axis space will hereinafter be referred to as a roll angle. In this example, the case of a roll angle being 30 degrees will be described.
The rotation from the state shown in FIG. 3 to the state shown in FIG. 4 is rotation about the Y axis. Therefore, even in FIG. 4 after rotation, no gravitational acceleration is sensed in the Y-axis direction. That is, in this example, because the X-Z plane of the object 300 overlaps with the x-z plane of the x-y-z axis space, the angle of rotation of the X axis is the roll angle of the object 300. Also, because the X-Z plane is rotated with respect to the x-z plane, the gravitation acceleration sensed only in the Z-axis direction in the state of FIG. 3 is now sensed and resolved into two acceleration components in the X-axis and Z-axis directions. At this time, the roll angle is calculated from the acceleration components detected in the X-axis and Z-axis directions, using a trigonometric function. In this example, since the object 300 is rotated 30 degrees about the Y axis, its roll angle is calculated as 30 degrees.
Next, a description will be given in the case where, as shown in FIG. 5, the object 300 is rotated from the state of FIG. 3 with the X axis as its axis of rotation. At this time, the angle formed between an axis projected onto the y-z plane of the x-y-z axis space from the Y axis of the Y-Z plane of the object 300 rotated about the X axis and the y axis of the x-y-z axis space will hereinafter be referred to as a pitch angle. In this example, the case of a pitch angle being 30 degrees will be described.
The rotation from the state shown in FIG. 3 to the state shown in FIG. 5 is rotation about the X axis, so that no gravitational acceleration is sensed in the X-axis direction even in the state shown in FIG. 5 after rotation. Specifically, in this example, because the Y-Z plane of the object 300 overlaps with the y-z plane of the x-y-z axis space, the angle of rotation of the Y axis is a pitch angle of the object 300. Also, because the y-z plane is rotated with respect to the Y-Z plane, the gravitation acceleration sensed only in the Z-axis direction in the state of FIG. 3 is now sensed and resolved into two acceleration components in the Y- and Z-axis directions. At this time, the pitch angle is calculated from the acceleration components detected in the Y- and Z-axis directions, using a trigonometric function. In this example, since the object 300 is rotated 30 degrees about the X axis, its pitch angle is calculated as 30 degrees.
Thus, which attitude the object 300 with the acceleration sensor assumes can be sensed by the two angles of inclination, the roll and pitch angles. At this time, the roll angle is calculated from the gravitational acceleration components detected in the X-axis and Z-axis directions, while the pitch angle is calculated from the gravitational acceleration components detected in the Y- and Z-axis directions.
In practice, the object 300 typically has its roll and pitch angles combined together. Even in such a case, the roll angle is calculated from the X- and Z-axis direction components of the gravitational acceleration, while the pitch angle is calculated from the Y- and Z-axis direction components of the gravitational acceleration.
However, in the case where the two angles of inclination are respectively calculated in the manner described above, errors may be caused. For example, in the case where the roll angle is measured when the pitch angle is nearly equal to 0 degrees, an error will not be large, but there is a problem that an error will be larger as the pitch angle is nearly equal to 90 degrees. Likewise, in the case where the pitch angle is calculated when the roll angle is nearly equal to 90 degrees, there will be a problem that an error becomes larger.
For example, Japanese patent laid-open publication No. 2000-180462 solves such problems by setting correction coefficients larger as the pitch and roll angles become larger, specifically in paragraphs [0017] to [0020] thereof.
However, in the method where an angle of inclination is divided into some sectors and appropriate correction coefficients are set to the sectors, errors within the individual sectors remain unsolved. As the number of the individual sectors is increased, the number of correction coefficients is increased. This results in an increase in storage capacity of the memory device and a reduction in calculation speed of a processing system.